<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.prime.com.tr/ui"
                template="../templates/principal.xhtml">

    <ui:define name="content" id="content">
        <h1 class="title ui-widget-header ui-corner-all">Bem Vindo ao Cadastro de Tipo de Transferencia</h1>

        <h:form id="frmTipoTransferencia">


            <p:dataTable id="tabTipoTransferencia" widgetVar="wtabTipoTransferencia" var="tipoTransferencia" value="#{tipoTransferenciaBean.lazyModel}" 
                         paginator="true" rows="12" lazy="true" emptyMessage="Nenhum Registro Retornado ..."
                         selection="#{tipoTransferenciaBean.selectedTipoTransferencia}" selectionMode="single"
                         onRowSelectComplete="tipoTransferenciaDialog.show()" onRowSelectUpdate="panel,display"
                         rowSelectListener="#{tipoTransferenciaBean.onRowSelectTipo}">

                <f:facet name="header">
                    Selecione uma linha e clique para Manutenção
                </f:facet>

                <p:column headerText="Descrição" sortBy="#{tipoTransferencia.dscTipo}" filterBy="#{tipoTransferencia.dscTipo}">
                    <h:outputText value="#{tipoTransferencia.dscTipo}" />
                </p:column>
            </p:dataTable>

            <p:dialog id="dialog" header="Detalhes Tipo de Transferencia" widgetVar="tipoTransferenciaDialog" resizable="true"
                      width="600" showEffect="explode" hideEffect="explode">
                <p:panel id="panel">
                    <h:panelGrid id="display" columns="2" style="margin-bottom:50px" cellpadding="5">
                        <h:outputText value="Código:" />
                        <p:inputText id="inCodigo" value="#{tipoTransferenciaBean.selectedTipoTransferencia.idTipo}" readonly="true" style="width:100px; font-weight:bold" />

                        <h:outputText value="Descrição:" />
                        <p:inputText id="Descricao" value="#{tipoTransferenciaBean.selectedTipoTransferencia.dscTipo}" required="true" style="width:400px; font-weight:bold;" />
                    </h:panelGrid>
                    <p:commandButton value="Novo" image="ui-icon ui-icon-folder-open" title="Clique para Inserir um novo Tipo de Transferência" 
                                     update="panel,tabTipoTransferencia" action="#{tipoTransferenciaBean.novo}" oncomplete="tipoTransferenciaDialog.show()" />

                    <p:commandButton value="Inserir" update="messages,panel,tabTipoTransferencia,display" rendered="#{!tipoTransferenciaBean.disable}" 
                                     actionListener="#{tipoTransferenciaBean.inserir}" oncomplete="tipoTransferenciaDialog.hide()" />

                    <p:commandButton value="Alterar" update="messages,panel,tabTipoTransferencia,display" rendered="#{tipoTransferenciaBean.disable}"
                                     actionListener="#{tipoTransferenciaBean.alterar}" oncomplete="tipoTransferenciaDialog.hide()" />

                    <p:commandButton id="btExcluir" value="Excluir" onclick="confirmation.show()" type="button" rendered="#{tipoTransferenciaBean.disable}" />
                </p:panel>
            </p:dialog>

            <p:confirmDialog message="Confirma a Exclusão desse Tipo de Transferencia?"
                             showEffect="bounce" hideEffect="explode"
                             header="Exclusão do Tipo de Transferencia" severity="alert" widgetVar="confirmation">

                <p:commandButton value="Sim" update="messages,panel,tabTipoTransferencia,display" oncomplete="confirmation.hide(),tipoTransferenciaDialog.hide()"
                                 actionListener="#{tipoTransferenciaBean.excluir}" />
                <p:commandButton value="Não" onclick="confirmation.hide()" type="button" />

            </p:confirmDialog>

        </h:form>
    </ui:define>
</ui:composition>